Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.05.2018, 11:46
Новичок на форуме
Отправить личное сообщение для iAmAir Посмотреть профиль Найти все сообщения от iAmAir
 
Регистрация: 23.05.2018
Сообщений: 2

Отправка файла через ajax (jQuery)
Добрый день! Пытаюсь отправить через Ajax форму с файлом

function brifPage(){
  $('#brief').submit(function(e) {
      var $this = $(this);
      var data = $this.serialize();
      $.ajax({
          type: "POST",
          url: '/ajax/brif.php?brif',
          data: data,
          success: function(suc) {
              $('.feedbackThank').fadeIn();
              setTimeout( () => {
                $('.feedbackThank').fadeOut();
              }, 3000)
              $this.trigger('reset');
          }
      });
      e.preventDefault();
  });
}


HTML:
<div class="main">
      <div class="myBrif">
        <div class="wr">
          <div class="myBrif-block">
            <form action="" method="post" enctype="multipart/form-data" id="brief"><input name="MAX_FILE_SIZE" value="300000" type="hidden">
              <div class="head-form">
                <h3>Мы ценим Ваше время!</h3>
                <p>Именно поэтому, мы предлагаем Вам экспресс-бриф - всего за 1-3 минуты вы опишите, что Вам нужно</p>
                <p>Перед тем как начать, расслабьтесь, подумайте о чем-то хорошем </p>
              </div>
              <div class="head-form">
                <h3>Данные о компании</h3></div>
              <fieldset><label for="task_description">Опишите Вашу задачу</label><textarea name="task_description" id="task_description"></textarea><label for="name_company">Название компании</label><input name="name_company" id="name_company" type="text">
                <div
                  class="head_field">
                  <h4>Контактные данные для представления на сайте</h4></div><label for="name">Ваше имя</label><input name="name" id="name" required="" type="text"><label for="phone">Ваш телефон</label>
          <div class="fieldBlock tel"><input class="tel" name="phone[]" id="phone" required="" type="tel"><button class="plus" type="button">Добавить</button></div><label for="email">Email</label>
          <div class="fieldBlock mail"><input name="email[]" id="email" required="" type="email"><button class="plus" type="button">Добавить</button></div><label for="skype">Skype</label><input name="skype" id="skype" type="text">
          <div class="head_field">
            <h4>Чем занимается Ваша компания</h4></div><textarea name="description_company" id="description_company"></textarea>
          <div class="head_field">
            <h4>Основные преимущества Вашей компании</h4></div>
          <div class="numbers">
            <div class="first"><input name="benefits[]" type="text"></div>
            <div class="inpblock"><input name="benefits[]" type="text"></div><button class="plus" type="button">Добавить</button></div>
          <div class="head_field">
            <h4>Отличия от конкурентов</h4></div>
          <div class="twoblocks">
            <div class="leftBlock">Основные приемущества Вашего товара или услуги, отличия от конкурентов</div>
            <div class="rightBlock"><textarea name="difference" id="difference"></textarea></div>
          </div>
          <div class="head_field">
            <h4>Информация о конкурентах</h4></div>
          <div class="twoblocks">
            <div class="leftBlock">Имеющиеся конкуренты - название компаний и их сайты</div>
            <div class="rightBlock"><textarea name="concurents" id="concurents"></textarea></div>
          </div>
          </fieldset>
          <div class="head-form">
            <h3>Фирменный стиль</h3></div>
          <fieldset>
            <div class="radioGroup"><input name="firmStyle" id="est" value="Есть" type="radio"><label for="est"><span>Есть</span></label><input name="firmStyle" id="net" value="Нет, создать" type="radio"><label for="net"><span>Нет, создать</span></label><input name="firmStyle"
                id="nenado" value="Не использовать" type="radio"><label for="nenado"><span>Не использовать</span></label></div><textarea name="firmText" id="firmText"></textarea>
            <div class="file"><label for="firmStyleFile"><img src="../assets/img/skrepka.png" alt=""><span>Прикрепить</span><input name="firmStyleFile" id="firmStyleFile" type="file" /></label></div>
          </fieldset>
          <div class="head-form">
            <h3>Кто Ваша целевая аудитория?</h3></div>
          <fieldset>
            <div class="radioGroup"><input name="auditor" id="m" value="Мужчины" type="radio"><label for="m">Мужчины</label><input name="auditor" id="g" value="Женщины" type="radio"><label for="g">Женщины</label><input name="auditor" id="mg" value="Мужчины и женщины" type="radio">
              <label
                for="mg">Мужчины и женщины</label>
            </div><label for="age">Возраст</label><input name="age" id="age" type="text"><label for="dohod">Уровень дохода</label><input name="dohod" id="dohod" type="text"><label for="chenado">Основная причина обращения к Вам</label><input name="chenado" id="chenado"
              type="text"></fieldset>
          <div class="head-form">
            <h3>Дизайн сайта</h3></div>
          <fieldset>
            <div class="head_field">
              <h3>Какие разделы должны обязательно быть на сайте?</h3></div>
            <div class="checkboxGroup"><input name="razdels[]" id="uslugi" value="Услуги" type="checkbox"><label for="uslugi">Услуги</label><input name="razdels[]" id="portfolio" value="Портфолио" type="checkbox"><label for="portfolio">Портфолио</label><input name="razdels[]" id="partneram"
                value="Партнерам" type="checkbox"><label for="partneram">Партнерам</label><input name="razdels[]" id="lk" value="Личный кабинет" type="checkbox"><label for="lk">Личный кабинет</label><input name="razdels[]" id="catalog" value="Каталог продукции"
                type="checkbox"><label for="catalog">Каталог продукции</label><input name="razdels[]" id="docs" value="Документы" type="checkbox"><label for="docs">Документы</label><input name="razdels[]" id="tp" value="Тех поддержка" type="checkbox">
              <label
                for="tp">Тех поддержка</label><input name="razdels[]" id="vacansii" value="Вакансии" type="checkbox"><label for="vacansii">Вакансии</label><input name="razdels[]" id="contacts" value="Контакты" type="checkbox"><label for="contacts">Контакты</label>
                <button
                  class="plus" type="button">Добавить раздел</button>
            </div>
            <div class="head_field">
              <h3>Примеры проектов, которые нравятся и не нравятся</h3></div>
            <div class="primers">
              <div class="left"><label for="like">Примеры проектов, которые нравятся</label><input name="likedProject" id="like" type="text"><label for="whyLike">Почему нравятся</label><textarea name="likedProjects" id="whyLike"></textarea></div>
              <div class="right"><label for="dislike">Примеры проектов, которые не нравятся</label><input name="dislikedProject" id="dislike" type="text"><label for="whydisLike">Почему не нравятся </label><textarea name="dislikedProjects" id="whydisLike"></textarea></div>
            </div>
            <div class="head_field">
              <h3>В каком цветовом решении Вы хотели бы видеть свой будущий сайт?</h3></div>
            <div class="checkboxGroup designCheck"><input name="colorStyle[]" id="firm" value="Только цвета фирменного стиля и оттенки (если есть)" type="checkbox"><label for="firm">Только цвета фирменного стиля и оттенки (если есть)</label><input name="colorStyle[]" id="firme" value="Цвета фирменного стиля и любые, сочетаемые с ними"
                type="checkbox"><label for="firme">Цвета фирменного стиля и любые сочетаемые с ними</label><input name="colorStyle[]" id="pastel" value="Мягкие пастельные цвета" type="checkbox"><label for="pastel">Мягкие пастельные цвета</label><input name="colorStyle[]"
                id="design" value="На усмотрение дизайнера" type="checkbox"><label for="design">На усмотрение дизайнера</label></div><label for="predlog">Предложить свое</label><input name="predlog" id="predlog" type="text"></fieldset><button class="btn yellow-btn darken sub"
            type="submit">Отправить</button></form>
        </div>
      </div>
    </div>
  </div>
  <div id="newContent"></div>


Как сделать отправку с использованием наименьшего количества боли?
Ответить с цитированием
  #2 (permalink)  
Старый 23.05.2018, 12:11
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,831

М.б. так?
function brifPage() {
    $('#brief').submit(function(e) {
        if (!window.FormData)
            return alert('Class FormData unsupported');

        e.preventDefault();

        var $this = $(this);
        $.ajax({
            type: "POST",
            url: '/ajax/brif.php?brif',
            processData: false,
            contentType: false,
            data: new FormData(this),
            success: function(suc) {
                $('.feedbackThank').fadeIn();
                setTimeout(() => {
                    $('.feedbackThank').fadeOut();
                }, 3000)
                $this.trigger('reset');
            }
        });

    });
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ajax запрос через метод submit() n0kkw1n AJAX и COMET 7 16.12.2016 22:47
Отправка файла на email при помощи Ajax vah-smile AJAX и COMET 6 19.11.2016 16:41
Перенос Name элемента через Jquery titanrat Общие вопросы Javascript 2 05.12.2012 14:20
не сохраняются данные выведеные через jquery. Опрос. DuB Общие вопросы Javascript 1 05.03.2012 13:35
отправка файла через обработчик события submit starrich AJAX и COMET 2 13.08.2008 22:29